package com.dcm.item.mapper;

import com.dcm.item.entity.ItemEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author pengrongsheng
 */
public interface ItemMapper {
    /**
     * 获得所有商品列表
     *
     * @return List<TbItem>
     */
    List<ItemEntity> findAll();

    /**
     * 根据id查询商品
     *
     * @param id 主键
     * @return TbItem
     */
    ItemEntity findOneById(Long id);

    /**
     * 添加商品
     *
     * @param item 前台传递的 实体对象
     */
    void insertItem(ItemEntity item);

    /**
     * 根据 条件 查询 （关键字 id）
     *
     * @param keyWords 模糊条件
     * @return List<TbItem>
     */
    List<ItemEntity> findItemByKeyWords(@Param("keyWords") String keyWords);

    /**
     * 根据状态查询
     *
     * @param status 状态 0在售 1仓库 2 售空 -1回收站
     * @return List<TbItem>
     */
    List<ItemEntity> findItemByStatus(Integer status);

    /**
     * 修改
     *
     * @param item 前台传递的 实体对象
     */
    void updateItem(ItemEntity item);

    /**
     * miaoorder远程调用模糊查询
     *
     * @param specId
     * @param id
     * @param itemName
     * @return
     */
    List<ItemEntity> searchItem(@Param("specId") Integer specId, @Param("id") Long id, @Param("itemName") String itemName);
}
